// models/File.js

import { DataTypes } from "sequelize";
import sequelize from "../database/index.js"; // 根据您的项目结构调整路径

const File = sequelize.define(
  "File",
  {
    file_id: {
      type: DataTypes.INTEGER,
      autoIncrement: true,
      primaryKey: true,
      comment: "文件ID，主键，自增",
    },
    file_name: {
      type: DataTypes.STRING(255),
      allowNull: false,
      comment: "文件名",
    },
    file_url: {
      type: DataTypes.STRING(255),
      allowNull: false,
      comment: "文件URL",
    },
    file_type: {
      type: DataTypes.STRING(50),
      allowNull: true,
      defaultValue: null,
      comment: "文件类型",
    },
    file_size: {
      type: DataTypes.INTEGER,
      allowNull: true,
      defaultValue: null,
      comment: "文件大小（以字节为单位）",
    },
    md5_hash: {
      type: DataTypes.CHAR(32),
      allowNull: false,
      comment: "文件的MD5校验值",
    },
  },
  {
    tableName: "files",
    timestamps: true,
    createdAt: "created_at", // 自定义创建时间字段
    updatedAt: "updated_at", // 自定义更新时间字段
    comment: "文件表，存储用户上传的文件信息",
  }
);

export default File;
